home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d4 / castle.arc / CASTLE.BAS (.txt) next >
Encoding:
GW-BASIC  |  1986-01-04  |  20.4 KB  |  918 lines

  1. 1000  REM *****************************************************
  2. 1005  REM *                                                   *
  3. 1010  REM * WIZARD'S CASTLE GAME FROM JULY/AUGUST 1980        *
  4. 1015  REM * ISSUE OF RECREATIONAL COMPUTING MAGAZINE          *
  5. 1020  REM * WRITTEN FOR EXIDY SORCERER BY JOSEPH R. POWER     *
  6. 1025  REM * MODIFIED FOR HEATH MICROSOFT BASIC BY J.F.STETSON *
  7. 1030  REM *                                                   *
  8. 1035  REM *****************************************************
  9. 1040  DEFINT A-Z
  10. 1045  DIM C$(34),I$(34),R$(4),W$(8),E$(8)
  11. 1050  DIM L(512),C(3,4),T(8),O(3),R(3)
  12. 1055  DEF FNA(Q)=1+INT(RND(1)*Q)
  13. 1060  DEF FNB(Q)=Q+8*((Q=9)-(Q=0))
  14. 1065  DEF FNC(Q)=-Q*(Q<19)-18*(Q>18)
  15. 1070  DEF FND(Q)=64*(Q-1)+8*(X-1)+Y
  16. 1075  DEF FNE(Q)=Q+100*(Q>99)
  17. 1080  Y$="** PLEASE ANSWER YES OR NO"
  18. 1085  NG=0
  19. 1090  REM
  20. 1095  REM   INITIALIZE ARRAYS
  21. 1100  REM
  22. 1105  NG=NG+1
  23. 1110  Q=RND(1)
  24. 1115  RESTORE
  25. 1120  FOR Q=1 TO 34
  26. 1125  READ C$(Q),I$(Q)
  27. 1130  NEXT Q
  28. 1135  FOR Q=1 TO 512
  29. 1140  L(Q)=101
  30. 1145  NEXT Q
  31. 1150  FOR Q=1 TO 8
  32. 1155  READ W$(Q),E$(Q)
  33. 1160  NEXT Q
  34. 1165  FOR Q=1 TO 4
  35. 1170  READ R$(Q)
  36. 1175  NEXT Q
  37. 1180  IF NG > 1 GOTO 1250
  38. 1185  PRINT CHR$(27);"E"
  39. 1190  GOSUB 5375
  40. 1195  PRINT TAB(16);"* * * THE WIZARD'S CASTLE * * *"
  41. 1200  PRINT
  42. 1205  GOSUB 5375
  43. 1210  PRINT "MANY CYCLES AGO, IN THE KINGDOM OF N'DIC, THE GNOMIC"
  44. 1215  PRINT "WIZARD ZOT FORGED HIS GREAT *ORB OF POWER*. HE SOON"
  45. 1220  PRINT "VANISHED, LEAVING BEHIND HIS VAST SUBTERRANEAN CASTLE"
  46. 1225  PRINT "FILLED WITH ESURIENT MONSTERS, FABULOUS TREASURES, AND"
  47. 1230  PRINT "THE INCREDIBLE *ORB OF ZOT*. FROM THAT TIME HENCE, MANY"
  48. 1235  PRINT "A BOLD YOUTH HAS VENTURED INTO THE WIZARD'S CASTLE. AS"
  49. 1240  PRINT "OF NOW, *NONE* HAS EVER EMERGED VICTORIOUSLY! BEWARE!!"
  50. 1245  PRINT
  51. 1250  X=1 : Y=4
  52. 1255  L(FND(1))=2
  53. 1260  FOR Z=1 TO 7
  54. 1265  FOR Q1=1 TO 2
  55. 1270  Q=104
  56. 1275  GOSUB 5285
  57. 1280  L(FND(Z+1))=103
  58. 1285  NEXT Q1
  59. 1290  NEXT Z
  60. 1295  FOR Z=1 TO 8
  61. 1300  FOR Q=113 TO 124
  62. 1305  GOSUB 5285
  63. 1310  NEXT Q
  64. 1315  FOR Q1=1 TO 3
  65. 1320  FOR Q=105 TO 112
  66. 1325  GOSUB 5285
  67. 1330  NEXT Q
  68. 1335  Q=125
  69. 1340  GOSUB 5285
  70. 1345  NEXT Q1
  71. 1350  NEXT Z
  72. 1355  FOR Q=126 TO 133
  73. 1360  Z=FNA(8)
  74. 1365  GOSUB 5285
  75. 1370  NEXT Q
  76. 1375  Q=101
  77. 1380  FOR A=1 TO 3
  78. 1385  Z=FNA(8)
  79. 1390  GOSUB 5285
  80. 1395  C(A,1)=X
  81. 1400  C(A,2)=Y
  82. 1405  C(A,3)=Z
  83. 1410  C(A,4)=0
  84. 1415  NEXT A
  85. 1420  RC=0
  86. 1425  ST=2
  87. 1430  DX=14
  88. 1435  R$(3)="MAN"
  89. 1440  Q=112+FNA(12)
  90. 1445  Z=FNA(8)
  91. 1450  GOSUB 5285
  92. 1455  R(1)=X
  93. 1460  R(2)=Y
  94. 1465  R(3)=Z
  95. 1470  Q=109
  96. 1475  Z=FNA(8)
  97. 1480  GOSUB 5285
  98. 1485  O(1)=X
  99. 1490  O(2)=Y
  100. 1495  O(3)=Z
  101. 1500  BF=0 : OT=8 : AV=0 : HT=0 : T=1 : VF=0 : LF=0
  102. 1505  TC=0 : GP=60 : RF=0 : OF=0 : BL=0 : IQ=8 : SX=0
  103. 1510  FOR Q=1 TO 8
  104. 1515  T(Q)=0
  105. 1520  NEXT Q
  106. 1525  PRINT CHR$(7);
  107. 1530  PRINT "ALL RIGHT, BOLD ONE."
  108. 1535  PRINT "YOU MAY BE AN ELF, DWARF, MAN, OR HOBBIT."
  109. 1540  GOSUB 5405
  110. 1545  FOR Q=1 TO 4
  111. 1550  IF LEFT$(R$(Q),1)=O$ THEN RC=Q : ST=ST+2*Q : DX=DX-2*Q
  112. 1555  NEXT Q
  113. 1560  PRINT
  114. 1565  OT=OT+4*(RC=1)
  115. 1570  IF RC > 0 THEN R$(3)="HUMAN" : GOTO 1585
  116. 1575  PRINT "** THAT WAS INCORRECT. PLEASE TYPE E, D, M, OR H."
  117. 1580  GOTO 1535
  118. 1585  PRINT "WHICH SEX TO YOU PREFER";
  119. 1590  GOSUB 5415
  120. 1595  IF O$="M" THEN SX=1 : GOTO 1615
  121. 1600  IF O$="F" GOTO 1615
  122. 1605  PRINT "** CUTE ";R$(RC);", REAL CUTE. TRY M OR F."
  123. 1610  GOTO 1585
  124. 1615  PRINT
  125. 1620  PRINT "OK, ";R$(RC);", YOU HAVE THE FOLLOWING ATTRIBUTES :"
  126. 1625  PRINT "STRENGTH =";ST;" INTELLIGENCE =";IQ;" DEXTERITY =";DX
  127. 1630  PRINT "AND";OT;"OTHER POINTS TO ALLOCATE AS YOU WISH."
  128. 1635  PRINT
  129. 1640  Z$="STRENGTH"
  130. 1645  GOSUB 5430
  131. 1650  ST=ST+Q
  132. 1655  IF OT=0 GOTO 1695
  133. 1660  Z$="INTELLIGENCE"
  134. 1665  GOSUB 5430
  135. 1670  IQ=IQ+Q
  136. 1675  IF OT=0 GOTO 1695
  137. 1680  Z$="DEXTERITY"
  138. 1685  GOSUB 5430
  139. 1690  DX=DX+Q
  140. 1695  PRINT "OK, ";R$(RC);", YOU HAVE 60 GOLD PIECES (GP'S)."
  141. 1700  Z$="ARMOR"
  142. 1705  GOSUB 5555
  143. 1710  AV=0 : WV=0 : FL=0 : WC=0
  144. 1715  PRINT "PLATE<30> CHAINMAIL<20> LEATHER<10> NOTHING<0>"
  145. 1720  GOSUB 5405
  146. 1725  IF O$="N" GOTO 1755
  147. 1730  AV=-3*(O$="P")-2*(O$="C")-(O$="L")
  148. 1735  IF AV > 0 GOTO 1755
  149. 1740  PRINT
  150. 1745  PRINT "** ARE YOU A ";R$(RC);" OR ";C$(FNA(12)+12);"?"
  151. 1750  GOTO 1700
  152. 1755  AH=AV*7 : GP=GP-AV*10
  153. 1760  PRINT
  154. 1765  PRINT "OK, BOLD ";R$(RC);", YOU HAVE";GP;"GP'S LEFT."
  155. 1770  Z$="WEAPONS"
  156. 1775  GOSUB 5555
  157. 1780  PRINT "SWORD<30> MACE<20> DAGGER<10> NOTHING<0>"
  158. 1785  GOSUB 5405
  159. 1790  IF O$="N" GOTO 1820
  160. 1795  WV=-3*(O$="S")-2*(O$="M")-(O$="D")
  161. 1800  IF WV > 0 GOTO 1820
  162. 1805  PRINT 
  163. 1810  PRINT "** IS YOUR IQ REALLY";IQ;"?"
  164. 1815  GOTO 1770
  165. 1820  GP=GP-WV*10
  166. 1825  IF GP < 20 GOTO 1855
  167. 1830  PRINT
  168. 1835  PRINT "DO YOU WANT TO BUY A LAMP FOR 20 GP'S";
  169. 1840  GOSUB 5415
  170. 1845  IF O$="Y" THEN LF=1 : GP=GP-20 : GOTO 1855
  171. 1850  IF O$ <> "N" THEN PRINT : PRINT Y$ : PRINT : GOTO 1835
  172. 1855  PRINT
  173. 1860  IF GP < 1 THEN Q=0 : GOTO 1915
  174. 1865  PRINT "OK, ";R$(RC);", YOU HAVE";GP;"GOLD PIECES LEFT."
  175. 1870  PRINT
  176. 1875  INPUT "FLARES COST 1 GP EACH. HOW MANY DO YOU WANT";O$
  177. 1880  Q=VAL(O$)
  178. 1885  PRINT
  179. 1890  IF Q > 0 OR ASC(O$)=48 GOTO 1910
  180. 1895  PRINT "** IF YOU DON'T WANT ANY, JUST TYPE 0 (ZERO)."
  181. 1900  PRINT
  182. 1905  GOTO 1875
  183. 1910  IF Q > GP THEN PRINT "** YOU CAN ONLY AFFORD";GP;"." : PRINT : GOTO 1875
  184. 1915  FL=FL+Q : GP=GP-Q
  185. 1920  X=1 : Y=4 : Z=1
  186. 1925  PRINT "OK, ";R$(RC);", YOU ARE NOW ENTERING THE CASTLE!"
  187. 1930  GOTO 3450
  188. 1935  REM
  189. 1940  REM   MAIN PROCESSING LOOP
  190. 1945  REM
  191. 1950  T=T+1
  192. 1955  IF RF+OF > 0 GOTO 2020
  193. 1960  IF C(1,4) > T(1) THEN T=T+1
  194. 1965  IF C(2,4) > T(3) THEN GP=GP-FNA(5)
  195. 1970  IF GP < 0 THEN GP=0
  196. 1975  IF C(3,4) <= T(5) GOTO 2020
  197. 1980  A=X : B=Y : C=Z
  198. 1985  X=FNA(8) : Y=FNA(8) : Z=FNA(8)
  199. 1990  L(FND(Z))=FNE(L(FND(Z)))+100
  200. 1995  X=A : Y=B : Z=C
  201. 2000  IF L(FND(Z)) <> 1 GOTO 2020
  202. 2005  FOR Q=1 TO 3
  203. 2010  C(Q,4)=-(C(Q,1)=X)*(C(Q,2)=Y)*(C(Q,3)=Z)
  204. 2015  NEXT Q
  205. 2020  IF FNA(5) > 1 GOTO 2165
  206. 2025  PRINT
  207. 2030  PRINT "YOU ";
  208. 2035  Q=FNA(7)+BL
  209. 2040  IF Q > 7 THEN Q=4
  210. 2045  ON Q GOSUB 2125,2065,2115,2055,2135,2145,2155
  211. 2050  GOTO 2165
  212. 2055  PRINT "STEPPED ON A FROG!"
  213. 2060  RETURN
  214. 2065  PRINT "HEAR ";
  215. 2070  ON FNA(4) GOTO 2075,2085,2095,2105
  216. 2075  PRINT "A SCREAM!"
  217. 2080  RETURN
  218. 2085  PRINT "FOOTSTEPS!"
  219. 2090  RETURN
  220. 2095  PRINT "A WUMPUS!"
  221. 2100  RETURN
  222. 2105  PRINT "THUNDER!"
  223. 2110  RETURN
  224. 2115  PRINT "SNEEZED!"
  225. 2120  RETURN
  226. 2125  PRINT "SEE A BAT FLY BY!"
  227. 2130  RETURN
  228. 2135  PRINT "SMELL ";C$(12+FNA(13));" FRYING!"
  229. 2140  RETURN
  230. 2145  PRINT "FEEL LIKE YOU'RE BEING WATCHED!"
  231. 2150  RETURN
  232. 2155  PRINT "HEAR FAINT RUSTLING NOISES!"
  233. 2160  RETURN
  234. 2165  IF BL+T(4) <> 2 GOTO 2185
  235. 2170  PRINT
  236. 2175  PRINT C$(29);" CURES YOUR BLINDNESS!"
  237. 2180  BL=0
  238. 2185  IF BF+T(6) <> 2 GOTO 2205
  239. 2190  PRINT
  240. 2195  PRINT C$(31);" DISSOLVES THE BOOK!"
  241. 2200  BF=0
  242. 2205  PRINT
  243. 2210  LINE INPUT "ENTER YOUR COMMAND : ";O$
  244. 2215  IF LEFT$(O$,2)="DR" GOTO 2870
  245. 2220  O$=LEFT$(O$,1)
  246. 2225  IF O$="N" GOTO 2435
  247. 2230  IF (O$="S") OR (O$="W") OR (O$="E") GOTO 2440
  248. 2235  IF O$="U" GOTO 2465
  249. 2240  IF O$="D" GOTO 2480
  250. 2245  IF O$="M" GOTO 2505
  251. 2250  IF O$="F" THEN ON BL+1 GOTO 2620,2505
  252. 2255  IF O$="L" THEN ON BL+1 GOTO 2750,2505
  253. 2260  IF O$="O" GOTO 2965
  254. 2265  IF O$="G" THEN ON BL+1 GOTO 3185,2505
  255. 2270  IF O$="T" THEN PRINT : ON RF+1 GOTO 3315,3335
  256. 2275  IF O$="Q" GOTO 3390
  257. 2280  IF O$<>"H" GOTO 2420
  258. 2285  PRINT CHR$(27);"E"
  259. 2290  PRINT "*** WIZARD'S CASTLE COMMAND AND INFORMATION SUMMARY ***"
  260. 2295  PRINT
  261. 2300  PRINT "THE FOLLOWING COMMANDS ARE AVAILABLE :"
  262. 2305  PRINT 
  263. 2310  PRINT "H/ELP     N/ORTH    S/OUTH    E/AST     W/EST     U/P"
  264. 2315  PRINT "D/OWN     DR/INK    M/AP      F/LARE    L/AMP     O/PEN"
  265. 2320  PRINT "G/AZE     T/ELEPORT Q/UIT"
  266. 2325  PRINT
  267. 2330  PRINT "THE CONTENTS OF ROOMS ARE AS FOLLOWS :"
  268. 2335  PRINT
  269. 2340  PRINT ". = EMPTY ROOM      B = BOOK            C = CHEST"
  270. 2345  PRINT "D = STAIRS DOWN     E = ENTRANCE/EXIT   F = FLARES"
  271. 2350  PRINT "G = GOLD PIECES     M = MONSTER         O = CRYSTAL ORB"
  272. 2355  PRINT "P = MAGIC POOL      S = SINKHOLE        T = TREASURE"
  273. 2360  PRINT "U = STAIRS UP       V = VENDOR          W = WARP/ORB"
  274. 2365  PRINT
  275. 2370  PRINT "THE BENEFITS OF HAVING TREASURES ARE :"
  276. 2375  PRINT
  277. 2380  PRINT "RUBY RED - AVOID LETHARGY     PALE PEARL - AVOID LEECH"
  278. 2385  PRINT "GREEN GEM - AVOID FORGETTING  OPAL EYE - CURES BLINDNESS"
  279. 2390  PRINT "BLUE FLAME - DISSOLVES BOOKS  NORN STONE - NO BENEFIT"
  280. 2395  PRINT "PALANTIR - NO BENEFIT         SILMARIL - NO BENEFIT"
  281. 2400  PRINT
  282. 2405  PRINT "PRESS RETURN WHEN READY TO RESUME, ";R$(RC);".";
  283. 2410  LINE INPUT "";O$
  284. 2415  GOTO 1950
  285. 2420  PRINT
  286. 2425  PRINT "** SILLY ";R$(RC);", THAT WASN'T A VALID COMMAND!"
  287. 2430  GOTO 1950
  288. 2435  IF L(FND(Z))=2 GOTO 4970
  289. 2440  X=X+(O$="N")-(O$="S")
  290. 2445  Y=Y+(O$="W")-(O$="E")
  291. 2450  X=FNB(X)
  292. 2455  Y=FNB(Y)
  293. 2460  GOTO 3450
  294. 2465  IF L(FND(Z))=3 THEN Z=Z-1 : GOTO 3450
  295. 2470  Z$="UP"
  296. 2475  GOTO 2490
  297. 2480  Z$="DOWN"
  298. 2485  IF L(FND(Z))=4 THEN Z=Z+1 : GOTO 3450
  299. 2490  PRINT
  300. 2495  PRINT "** THERE ARE NO STAIRS GOING ";Z$;" FROM HERE!"
  301. 2500  GOTO 1950
  302. 2505  IF BL <> 1 GOTO 2540
  303. 2510  PRINT
  304. 2515  PRINT "** YOU CAN'T SEE ANYTHING, YOU DUMB ";R$(RC);"!"
  305. 2520  GOTO 1950
  306. 2525  REM
  307. 2530  REM   DISPLAY MAP OF CURRENT CASTLE LEVEL
  308. 2535  REM
  309. 2540  PRINT
  310. 2545  A=X : B=Y
  311. 2550  FOR X=1 TO 8
  312. 2555  FOR Y=1 TO 8
  313. 2560  Q=L(FND(Z))
  314. 2565  IF Q > 99 THEN Q=Q-100:LET Q=34:REM TO HIDE ROOMS
  315. 2570  IF X=A AND Y=B THEN PRINT "<";I$(Q);">  "; : GOTO 2580
  316. 2575  PRINT " ";I$(Q);"   ";
  317. 2580  NEXT Y
  318. 2585  PRINT
  319. 2590  PRINT
  320. 2595  NEXT X
  321. 2600  X=A : Y=B
  322. 2605  GOTO 2725
  323. 2610  PRINT ") LEVEL";Z
  324. 2615  GOTO 1950
  325. 2620  IF FL <> 0 GOTO 2650
  326. 2625  PRINT "** HEY, BRIGHT ONE, YOU'RE OUT OF FLARES!"
  327. 2630  GOTO 1950
  328. 2635  REM
  329. 2640  REM   DISPLAY ADJACENT ROOM CONTENTS WITH FLARE
  330. 2645  REM
  331. 2650  PRINT
  332. 2655  FL=FL-1
  333. 2660  A=X : B=Y
  334. 2665  FOR Q1=A-1 TO A+1
  335. 2670  X=FNB(Q1)
  336. 2675  FOR Q2=B-1 TO B+1
  337. 2680  Y=FNB(Q2)
  338. 2685  Q=FNE(L(FND(Z)))
  339. 2690  L(FND(Z))=Q
  340. 2695  PRINT " ";I$(Q);"   ";
  341. 2700  NEXT Q2
  342. 2705  PRINT
  343. 2710  PRINT
  344. 2715  NEXT Q1
  345. 2720  X=A : Y=B
  346. 2725  GOSUB 5570
  347. 2730  GOTO 1950
  348. 2735  REM
  349. 2740  REM   DISPLAY CONTENTS OF ADJACENT ROOM WITH LAMP
  350. 2745  REM
  351. 2750  IF LF <> 0 GOTO 2770
  352. 2755  PRINT
  353. 2760  PRINT "** YOU DON'T HAVE A LAMP, ";R$(RC);"!"
  354. 2765  GOTO 1950
  355. 2770  PRINT
  356. 2775  PRINT "WHERE DO YOU WANT TO SHINE THE LAMP (N,S,E,W)";
  357. 2780  GOSUB 5415
  358. 2785  A=X : B=Y
  359. 2790  X=FNB(X+(O$="N")-(O$="S"))
  360. 2795  Y=FNB(Y+(O$="W")-(O$="E"))
  361. 2800  IF A-X+B-Y <> 0 GOTO 2820
  362. 2805  PRINT
  363. 2810  PRINT "** THAT'S NOT A DIRECTION, ";R$(RC);"!"
  364. 2815  GOTO 1950
  365. 2820  PRINT
  366. 2825  PRINT "THE LAMP SHINES INTO (";X;",";Y;") LEVEL";Z;"."
  367. 2830  PRINT
  368. 2835  L(FND(Z))=FNE(L(FND(Z)))
  369. 2840  PRINT "THERE YOU WILL FIND ";C$(L(FND(Z)));"."
  370. 2845  X=A : Y=B
  371. 2850  GOTO 1950
  372. 2855  REM
  373. 2860  REM   TAKE A DRINK FROM A POOL
  374. 2865  REM
  375. 2870  IF L(FND(Z))=5 GOTO 2890
  376. 2875  PRINT
  377. 2880  PRINT "** IF YOU WANT A DRINK, FIND A POOL!"
  378. 2885  GOTO 1950
  379. 2890  Q=FNA(8)
  380. 2895  PRINT
  381. 2900  PRINT "YOU TAKE A DRINK AND ";
  382. 2905  IF Q < 7 THEN PRINT "FEEL ";
  383. 2910  ON Q GOTO 2915,2920,2925,2930,2935,2940,2945,2955
  384. 2915  ST=FNC(ST+FNA(3)) : PRINT "STRONGER." : GOTO 1950
  385. 2920  ST=ST-FNA(3) : PRINT "WEAKER." : ON (1-(ST<1)) GOTO 1950,4910
  386. 2925  IQ=FNC(IQ+FNA(3)) : PRINT "SMARTER." : GOTO 1950
  387. 2930  IQ=IQ-FNA(3) : PRINT "DUMBER." : ON (1-(IQ<1)) GOTO 1950,4910
  388. 2935  DX=FNC(DX+FNA(3)) : PRINT "NIMBLER." : GOTO 1950
  389. 2940  DX=DX-FNA(3) : PRINT "CLUMSIER." : ON (1-(DX<1)) GOTO 1950,4910
  390. 2945  Q=FNA(4) : IF Q=RC GOTO 2945
  391. 2950  RC=Q : PRINT "BECOME A ";R$(RC);"." : GOTO 1950
  392. 2955  SX=1-SX : PRINT "TURN INTO A "; : IF SX=0 THEN PRINT "FE";
  393. 2960  PRINT "MALE ";R$(RC);"!" : GOTO 1950
  394. 2965  IF L(FND(Z)) <> 6 GOTO 2985
  395. 2970  PRINT
  396. 2975  PRINT "YOU OPEN THE CHEST AND"
  397. 2980  GOTO 3115
  398. 2985  IF L(FND(Z)) <> 12 GOTO 3005
  399. 2990  PRINT
  400. 2995  PRINT "YOU OPEN THE BOOK AND"
  401. 3000  GOTO 3020
  402. 3005  PRINT
  403. 3010  PRINT "** THE ONLY THING OPENED WAS YOUR BIG MOUTH!"
  404. 3015  GOTO 1950
  405. 3020  ON FNA(6) GOTO 3025,3040,3050,3060,3075,3090
  406. 3025  PRINT "FLASH! OH NO! YOU ARE NOW A BLIND ";R$(RC);"!"
  407. 3030  BL=1
  408. 3035  GOTO 3105
  409. 3040  PRINT "IT'S ANOTHER VOLUME OF ZOT'S POETRY! - YECH!!"
  410. 3045  GOTO 3105
  411. 3050  PRINT "IT'S AN OLD COPY OF PLAY";R$(FNA(4));"!"
  412. 3055  GOTO 3105
  413. 3060  PRINT "IT'S A MANUAL OF DEXTERITY!"
  414. 3065  DX=18
  415. 3070  GOTO 3105
  416. 3075  PRINT "IT'S A MANUAL OF STRENGTH!"
  417. 3080  ST=18
  418. 3085  GOTO 3105
  419. 3090  PRINT "THE BOOK STICKS TO YOUR HANDS -"
  420. 3095  PRINT "NOW YOU ARE UNABLE TO DRAW YOUR WEAPON!"
  421. 3100  BF=1
  422. 3105  L(FND(Z))=1
  423. 3110  GOTO 1950
  424. 3115  ON FNA(4) GOTO 3120,3140,3160,3140
  425. 3120  PRINT "KABOOM! IT EXPLODES!!"
  426. 3125  Q=FNA(6)
  427. 3130  GOSUB 4860
  428. 3135  ON (1-(ST<1)) GOTO 3105,4910
  429. 3140  Q=FNA(1000)
  430. 3145  PRINT "FIND";Q;"GOLD PIECES!"
  431. 3150  GP=GP+Q
  432. 3155  GOTO 3105
  433. 3160  PRINT "GAS!! YOU STAGGER FROM THE ROOM!"
  434. 3165  L(FND(Z))=1
  435. 3170  T=T+20
  436. 3175  O$=MID$("NSEW",FNA(4),1)
  437. 3180  GOTO 2440
  438. 3185  IF L(FND(Z))=11 GOTO 3205
  439. 3190  PRINT
  440. 3195  PRINT "** IT'S HARD TO GAZE WITHOUT AN ORB!"
  441. 3200  GOTO 1950
  442. 3205  PRINT
  443. 3210  PRINT "YOU SEE ";
  444. 3215  ON FNA(6) GOTO 3220,3230,3240,3250,3285,3305
  445. 3220  PRINT "YOURSELF IN A BLOODY HEAP!"
  446. 3225  ST=ST-FNA(2) : ON (1-(ST<1)) GOTO 1950,4910
  447. 3230  PRINT "YOURSELF DRINKING FROM A POOL AND BECOMING ";C$(12+FNA(13));"!"
  448. 3235  GOTO 1950
  449. 3240  PRINT C$(12+FNA(13));" GAZING BACK AT YOU!"
  450. 3245  GOTO 1950
  451. 3250  A=X : B=Y : C=Z
  452. 3255  X=FNA(8) : Y=FNA(8) : Z=FNA(8)
  453. 3260  Q=FNE(L(FND(Z)))
  454. 3265  L(FND(Z))=Q
  455. 3270  PRINT C$(Q);" AT (";X;",";Y;") LEVEL";Z;"."
  456. 3275  X=A : Y=B : Z=C
  457. 3280  GOTO 1950
  458. 3285  A=FNA(8) : B=FNA(8) : C=FNA(8)
  459. 3290  IF FNA(8) < 4 THEN A=O(1) : B=O(2) : C=O(3)
  460. 3295  PRINT "***THE ORB OF ZOT*** AT (";A;",";B;") LEVEL";C;"!"
  461. 3300  GOTO 1950
  462. 3305  PRINT "A SOAP OPERA RERUN!"
  463. 3310  GOTO 1950
  464. 3315  IF RF <> 0 GOTO 3335
  465. 3320  PRINT
  466. 3325  PRINT "** YOU CAN'T TELEPORT WITHOUT THE RUNESTAFF!"
  467. 3330  GOTO 1950
  468. 3335  Z$="X-COORDINATE"
  469. 3340  GOSUB 5485
  470. 3345  X=Q
  471. 3350  Z$="Y-COORDINATE"
  472. 3355  GOSUB 5485
  473. 3360  Y=Q
  474. 3365  Z$="Z-COORDINATE"
  475. 3370  GOSUB 5485
  476. 3375  Z=Q
  477. 3380  O$="T"
  478. 3385  GOTO 3450
  479. 3390  PRINT
  480. 3395  PRINT "DO YOU REALLY WANT TO QUIT NOW";
  481. 3400  GOSUB 5415
  482. 3405  PRINT
  483. 3410  IF O$="Y" GOTO 3425
  484. 3415  PRINT "** THEN DON'T SAY THAT YOU DO!"
  485. 3420  GOTO 1950
  486. 3425  PRINT
  487. 3430  GOTO 5030
  488. 3435  REM
  489. 3440  REM   DISPLAY STATUS INFORMATION
  490. 3445  REM
  491. 3450  PRINT
  492. 3455  IF BL=0 THEN GOSUB 5570 : PRINT
  493. 3460  PRINT "STRENGTH =";ST;" INTELLIGENCE =";IQ;" DEXTERITY =";DX
  494. 3465  PRINT "TREASURES =";TC;" FLARES =";FL;" GOLD PIECES =";GP
  495. 3470  PRINT "WEAPON = ";W$(WV+1);"  ARMOR = ";W$(AV+5);
  496. 3475  IF LF=1 THEN PRINT "  AND A LAMP";
  497. 3480  PRINT
  498. 3485  WC=0
  499. 3490  Q=FNE(L(FND(Z)))
  500. 3495  L(FND(Z))=Q
  501. 3500  Z$="YOU NOW HAVE"
  502. 3505  PRINT
  503. 3510  PRINT "HERE YOU FIND ";C$(Q);"."
  504. 3515  IF (Q<7) OR (Q=11) OR (Q=12) GOTO 1950
  505. 3520  IF Q=7 THEN GP=GP+FNA(10) : PRINT Z$;GP;"." : GOTO 3105
  506. 3525  IF Q=8 THEN FL=FL+FNA(5) : PRINT Z$;FL;"." : GOTO 3105
  507. 3530  IF Q > 9 GOTO 3545
  508. 3535  IF (O(1)=X) AND (O(2)=Y) AND (O(3)=Z) THEN ON (1-(O$="T")) GOTO 2440,5175
  509. 3540  X=FNA(8) : Y=FNA(8) : Z=FNA(8) : GOTO 3450
  510. 3545  IF Q=10 THEN Z=FNB(Z+1) : GOTO 3450
  511. 3550  IF Q <= 25 OR Q >= 34 GOTO 3580
  512. 3555  PRINT
  513. 3560  PRINT "IT'S NOW YOURS!"
  514. 3565  T(Q-25)=1
  515. 3570  TC=TC+1
  516. 3575  GOTO 3105
  517. 3580  A=L(FND(Z))-12
  518. 3585  WC=0
  519. 3590  IF (A<13) OR (VF=1) GOTO 4185
  520. 3595  PRINT
  521. 3600  PRINT "YOU MAY TRADE WITH, ATTACK, OR IGNORE THE VENDOR."
  522. 3605  GOSUB 5405
  523. 3610  IF O$="I" GOTO 1950
  524. 3615  IF O$ <> "A" GOTO 3640
  525. 3620  VF=1
  526. 3625  PRINT
  527. 3630  PRINT "YOU'LL BE SORRY THAT YOU DID THAT!"
  528. 3635  GOTO 4185
  529. 3640  IF O$="T" GOTO 3660
  530. 3645  PRINT
  531. 3650  PRINT "** NICE SHOT, ";R$(RC);"!"
  532. 3655  GOTO 3595
  533. 3660  FOR Q=1 TO 8
  534. 3665  A=FNA(Q*1500)
  535. 3670  IF T(Q)=0 GOTO 3700
  536. 3675  PRINT
  537. 3680  PRINT "DO YOU WANT TO SELL ";C$(Q+25);" FOR";A;"GP'S";
  538. 3685  GOSUB 5415
  539. 3690  IF O$="Y" THEN TC=TC-1 : T(Q)=0 : GP=GP+A : GOTO 3700
  540. 3695  IF O$ <> "N" THEN PRINT Y$ : GOTO 3675
  541. 3700  NEXT Q
  542. 3705  IF GP >= 1000 GOTO 3725
  543. 3710  PRINT
  544. 3715  PRINT "YOU'RE TOO POOR TO TRADE, ";R$(RC);"."
  545. 3720  GOTO 1950
  546. 3725  IF GP < 1250 GOTO 3975
  547. 3730  PRINT
  548. 3735  PRINT "OK, ";R$(RC);", YOU HAVE";GP;"GP'S AND ";W$(AV+5);" ARMOR."
  549. 3740  PRINT
  550. 3745  Z$="ARMOR"
  551. 3750  GOSUB 5555
  552. 3755  PRINT "NOTHING<0> LEATHER<1250> ";
  553. 3760  IF GP > 1499 THEN PRINT "CHAINMAIL<1500> ";
  554. 3765  IF GP > 1999 THEN PRINT "PLATE<2000>";
  555. 3770  PRINT
  556. 3775  GOSUB 5405
  557. 3780  PRINT
  558. 3785  IF O$="N" GOTO 3850
  559. 3790  IF O$="L" THEN GP=GP-1250 : AV=1 : AH=7 : GOTO 3850
  560. 3795  IF O$ <> "C" OR GP >= 1500 GOTO 3810
  561. 3800  PRINT "** YOU HAVEN'T GOT THAT MUCH CASH ON HAND!"
  562. 3805  GOTO 3740
  563. 3810  IF O$="C" THEN GP=GP-1500 : AV=2 : AH=14 : GOTO 3850
  564. 3815  IF O$ <> "P" OR GP >= 2000 GOTO 3830
  565. 3820  PRINT "** YOU CAN'T AFFORD PLATE ARMOR!"
  566. 3825  GOTO 3740
  567. 3830  IF O$="P" THEN GP=GP-2000 : AV=3 : AH=21 : GOTO 3850
  568. 3835  PRINT
  569. 3840  PRINT "** DON'T BE SILLY. CHOOSE A SELECTION."
  570. 3845  GOTO 3770
  571. 3850  IF GP < 1250 GOTO 3975
  572. 3855  PRINT
  573. 3860  PRINT "YOU HAVE";GP;"GP'S LEFT WITH ";W$(WV+1);" IN HAND."
  574. 3865  PRINT
  575. 3870  Z$="WEAPON"
  576. 3875  GOSUB 5555
  577. 3880  PRINT "NOTHING<0> DAGGER<1250> ";
  578. 3885  IF GP > 1499 THEN PRINT "MACE<1500> ";
  579. 3890  IF GP > 1999 THEN PRINT "SWORD<2000>";
  580. 3895  PRINT
  581. 3900  GOSUB 5405
  582. 3905  PRINT
  583. 3910  IF O$="N" GOTO 3975
  584. 3915  IF O$="D" THEN GP=GP-1250 : WV=1 : GOTO 3975
  585. 3920  IF O$ <> "M" OR GP >= 1500 GOTO 3935
  586. 3925  PRINT "** SORRY SIR, I'M AFRAID I DON'T GIVE CREDIT!"
  587. 3930  GOTO 3865
  588. 3935  IF O$="M" THEN GP=GP-1500 : WV=2 : GOTO 3975
  589. 3940  IF O$ <> "S" OR GP >= 2000 GOTO 3960
  590. 3945  PRINT "** YOUR DUNGEON EXPRESS CARD - ";
  591. 3950  PRINT "YOU LEFT HOME WITHOUT IT!"
  592. 3955  GOTO 3865
  593. 3960  IF O$="S" THEN GP=GP-2000 : WV=3 : GOTO 3975
  594. 3965  PRINT "** TRY CHOOSING A SELECTION!"
  595. 3970  GOTO 3895
  596. 3975  IF GP < 1000 GOTO 1950
  597. 3980  Z$="STRENGTH"
  598. 3985  GOSUB 5525
  599. 3990  IF O$ <> "Y" GOTO 4020
  600. 3995  GP=GP-1000
  601. 4000  ST=FNC(ST+FNA(6))
  602. 4005  Q=ST
  603. 4010  GOSUB 5540
  604. 4015  GOTO 3975
  605. 4020  IF O$ <> "N" THEN PRINT Y$ : GOTO 3980
  606. 4025  IF GP < 1000 GOTO 1950
  607. 4030  Z$="INTELLIGENCE"
  608. 4035  GOSUB 5525
  609. 4040  IF O$ <> "Y" GOTO 4070
  610. 4045  GP=GP-1000
  611. 4050  IQ=FNC(IQ+FNA(6))
  612. 4055  Q=IQ
  613. 4060  GOSUB 5540
  614. 4065  GOTO 4025
  615. 4070  IF O$ <> "N" THEN PRINT Y$ : GOTO 4030
  616. 4075  IF GP < 1000 GOTO 1950
  617. 4080  Z$="DEXTERITY"
  618. 4085  GOSUB 5525
  619. 4090  IF O$ <> "Y" GOTO 4120
  620. 4095  GP=GP-1000
  621. 4100  DX=FNC(DX+FNA(6))
  622. 4105  Q=DX
  623. 4110  GOSUB 5540
  624. 4115  GOTO 4075
  625. 4120  IF O$ <> "N" THEN PRINT Y$ : GOTO 4080
  626. 4125  IF (GP<1000) OR (LF=1) GOTO 1950
  627. 4130  PRINT
  628. 4135  PRINT "DO YOU WANT TO BUY A LAMP FOR 1000 GP'S";
  629. 4140  GOSUB 5415
  630. 4145  IF O$ <> "Y" GOTO 4175
  631. 4150  GP=GP-1000
  632. 4155  LF=1
  633. 4160  PRINT
  634. 4165  PRINT "IT'S GUARANTEED TO OUTLIVE YOU!"
  635. 4170  GOTO 1950
  636. 4175  IF O$ <> "N" THEN PRINT Y$ : GOTO 4130
  637. 4180  GOTO 1950
  638. 4185  Q1=1+INT(A/2) : Q2=A+2 : Q3=1
  639. 4190  IF (C(1,4)>T(1)) OR (BL=1) OR (DX<FNA(9)+FNA(9)) GOTO 4700
  640. 4195  PRINT
  641. 4200  PRINT "YOU'RE FACING ";C$(A+12);"!"
  642. 4205  PRINT
  643. 4210  PRINT "YOU MAY ATTACK OR RETREAT."
  644. 4215  IF Q3=1 THEN PRINT "YOU CAN ALSO ATTEMPT A BRIBE."
  645. 4220  IF IQ > 14 THEN PRINT "YOU CAN ALSO CAST A SPELL."
  646. 4225  PRINT
  647. 4230  PRINT "YOUR STRENGTH IS";ST;"AND YOUR DEXTERITY IS";DX;"."
  648. 4235  GOSUB 5405
  649. 4240  IF O$ <> "A" GOTO 4445
  650. 4245  IF WV <> 0 GOTO 4265
  651. 4250  PRINT
  652. 4255  PRINT "** POUNDING ON ";C$(A+12);" WON'T HURT IT!"
  653. 4260  GOTO 4700
  654. 4265  IF BF <> 1 GOTO 4285
  655. 4270  PRINT
  656. 4275  PRINT "** YOU CAN'T BEAT IT TO DEATH WITH A BOOK!"
  657. 4280  GOTO 4700
  658. 4285  IF DX >= FNA(20)+(3*BL) GOTO 4305
  659. 4290  PRINT
  660. 4295  PRINT "YOU MISSED, TOO BAD!"
  661. 4300  GOTO 4700
  662. 4305  Z$=RIGHT$(C$(A+12),LEN(C$(A+12))-2)
  663. 4310  IF LEFT$(Z$,1)=" " THEN Z$=MID$(Z$,2)
  664. 4315  PRINT
  665. 4320  PRINT "YOU HIT THE EVIL ";Z$;"!"
  666. 4325  Q2=Q2-WV
  667. 4330  IF (A <> 9 AND A <> 12) GOTO 4355
  668. 4335  IF FNA(8) <> 1 GOTO 4355
  669. 4340  PRINT
  670. 4345  PRINT "OH NO! YOUR ";W$(WV+1);" BROKE!"
  671. 4350  WV=0
  672. 4355  IF Q2 > 0 GOTO 4700
  673. 4360  PRINT
  674. 4365  MC=MC-1
  675. 4370  PRINT C$(A+12);" LIES DEAD AT YOUR FEET!"
  676. 4375  IF H > T-60 GOTO 4395
  677. 4380  PRINT
  678. 4385  PRINT "YOU SPEND AN HOUR EATING ";C$(A+12);E$(FNA(8));"."
  679. 4390  H=T
  680. 4395  IF X <> R(1) OR Y <> R(2) OR Z <> R(3) THEN ON (1-(A=13)) GOTO 4420,5305
  681. 4400  PRINT
  682. 4405  PRINT "GREAT ZOT! YOU'VE FOUND THE RUNESTAFF!";CHR$(7)
  683. 4410  R(1)=0
  684. 4415  RF=1
  685. 4420  Q=FNA(1000)
  686. 4425  PRINT
  687. 4430  PRINT "YOU NOW GET HIS HOARD OF";Q;"GP'S!"
  688. 4435  GP=GP+Q
  689. 4440  GOTO 3105
  690. 4445  IF O$="R" GOTO 4700
  691. 4450  IF O$ <> "C" GOTO 4595
  692. 4455  IF IQ >= 15 OR Q3 <= 1 GOTO 4475
  693. 4460  PRINT
  694. 4465  PRINT "** YOU CAN'T CAST A SPELL NOW!"
  695. 4470  GOTO 4195
  696. 4475  PRINT
  697. 4480  PRINT "WHICH SPELL (WEB, FIREBALL, DEATHSPELL)";
  698. 4485  GOSUB 5415
  699. 4490  PRINT
  700. 4495  IF O$ <> "W" GOTO 4515
  701. 4500  ST=ST-1
  702. 4505  WC=FNA(8)+1
  703. 4510  ON (1-(ST<1)) GOTO 4700,4910
  704. 4515  IF O$ <> "F" GOTO 4560
  705. 4520  Q=FNA(7)+FNA(7)
  706. 4525  ST=ST-1
  707. 4530  IQ=IQ-1
  708. 4535  IF (IQ < 1) OR (ST < 1) GOTO 4910
  709. 4540  PRINT "IT DOES";Q;"POINTS WORTH OF DAMAGE."
  710. 4545  PRINT
  711. 4550  Q2=Q2-Q
  712. 4555  GOTO 4355
  713. 4560  IF O$="D" GOTO 4580
  714. 4565  PRINT
  715. 4570  PRINT "** TRY ONE OF THE OPTIONS GIVEN."
  716. 4575  GOTO 4195
  717. 4580  PRINT "DEATH . . . ";
  718. 4585  IF IQ < FNA(4)+15 THEN PRINT "YOURS!" : IQ=0 : GOTO 4910
  719. 4590  PRINT "HIS!" : Q2=0 : GOTO 4360
  720. 4595  IF O$="B" AND Q3 <= 1 GOTO 4615
  721. 4600  PRINT
  722. 4605  PRINT "** CHOOSE ONE OF THE OPTIONS LISTED."
  723. 4610  GOTO 4195
  724. 4615  IF TC <> 0 GOTO 4635
  725. 4620  PRINT
  726. 4625  PRINT "ALL I WANT IS YOUR LIFE!"
  727. 4630  GOTO 4700
  728. 4635  Q=FNA(8)
  729. 4640  IF T(Q)=0 GOTO 4635
  730. 4645  PRINT
  731. 4650  PRINT "I WANT ";C$(Q+25);". WILL YOU GIVE IT TO ME";
  732. 4655  GOSUB 5415
  733. 4660  IF O$="N" GOTO 4700
  734. 4665  IF O$ <> "Y" THEN PRINT Y$ : GOTO 4645
  735. 4670  T(Q)=0
  736. 4675  TC=TC-1
  737. 4680  PRINT
  738. 4685  PRINT "OK, JUST DON'T TELL ANYONE ELSE."
  739. 4690  VF=VF+(L(FND(Z))=25)
  740. 4695  GOTO 1950
  741. 4700  Q3=2
  742. 4705  IF WC <= 0 GOTO 4720
  743. 4710  WC=WC-1
  744. 4715  IF WC=0 THEN PRINT : PRINT "THE WEB JUST BROKE!"
  745. 4720  Z$=RIGHT$(C$(A+12),LEN(C$(A+12))-2)
  746. 4725  IF LEFT$(Z$,1)=" " THEN Z$=MID$(Z$,2)
  747. 4730  IF WC <= 0 GOTO 4750
  748. 4735  PRINT
  749. 4740  PRINT "THE ";Z$;" IS STUCK AND CAN'T ATTACK NOW!"
  750. 4745  GOTO 4805
  751. 4750  PRINT
  752. 4755  PRINT "THE ";Z$;" ATTACKS!"
  753. 4760  IF DX < FNA(7)+FNA(7)+FNA(7)+3*BL GOTO 4780
  754. 4765  PRINT
  755. 4770  PRINT "WHAT LUCK, HE MISSED YOU!"
  756. 4775  GOTO 4805
  757. 4780  PRINT
  758. 4785  PRINT "OUCH! HE HIT YOU!"
  759. 4790  Q=Q1
  760. 4795  GOSUB 4860
  761. 4800  IF ST < 1 GOTO 4910
  762. 4805  IF O$ <> "R" GOTO 4195
  763. 4810  PRINT
  764. 4815  PRINT "YOU HAVE ESCAPED!"
  765. 4820  PRINT
  766. 4825  PRINT "DO YOU WANT TO GO NORTH, SOUTH, EAST, OR WEST";
  767. 4830  GOSUB 5415
  768. 4835  IF O$="N" OR O$="S" OR O$="E" OR O$="W" GOTO 2440
  769. 4840  PRINT
  770. 4845  PRINT "** DON'T PRESS YOUR LUCK, ";R$(RC);"!"
  771. 4850  PRINT
  772. 4855  GOTO 4825
  773. 4860  IF AV=0 GOTO 4900
  774. 4865  Q=Q-AV
  775. 4870  AH=AH-AV
  776. 4875  IF Q < 0 THEN AH=AH-Q : Q=0
  777. 4880  IF AH >= 0 GOTO 4900
  778. 4885  AH=0 : AV=0
  779. 4890  PRINT
  780. 4895  PRINT "YOUR ARMOR HAS BEEN DESTROYED . . . GOOD LUCK!"
  781. 4900  ST=ST-Q
  782. 4905  RETURN
  783. 4910  PRINT CHR$(7)
  784. 4915  GOSUB 5375
  785. 4920  PRINT "A NOBLE EFFORT, OH FORMERLY LIVING ";R$(RC);"!"
  786. 4925  PRINT
  787. 4930  PRINT "YOU DIED DUE TO LACK OF ";
  788. 4935  IF ST < 1 THEN PRINT "STRENGTH."
  789. 4940  IF IQ < 1 THEN PRINT "INTELLIGENCE."
  790. 4945  IF DX < 1 THEN PRINT "DEXTERITY."
  791. 4950  PRINT
  792. 4955  Q3=1
  793. 4960  PRINT "AT THE TIME YOU DIED, YOU HAD :"
  794. 4965  GOTO 5055
  795. 4970  Q3=0
  796. 4975  PRINT
  797. 4980  PRINT "YOU LEFT THE CASTLE WITH";
  798. 4985  IF OF=0 THEN PRINT "OUT";
  799. 4990  PRINT " THE ORB OF ZOT."
  800. 4995  PRINT
  801. 5000  IF OF=0 GOTO 5030
  802. 5005  PRINT
  803. 5010  PRINT "AN INCREDIBLY GLORIOUS VICTORY!!"
  804. 5015  PRINT
  805. 5020  PRINT "IN ADDITION, YOU GOT OUT WITH THE FOLLOWING :"
  806. 5025  GOTO 5050
  807. 5030  PRINT
  808. 5035  PRINT "A LESS THAN AWE-INSPIRING DEFEAT."
  809. 5040  PRINT
  810. 5045  PRINT "WHEN YOU LEFT THE CASTLE, YOU HAD :"
  811. 5050  IF Q3=0 THEN PRINT "YOUR MISERABLE LIFE!"
  812. 5055  FOR Q=1 TO 8
  813. 5060  IF T(Q)=1 THEN PRINT C$(Q+25)
  814. 5065  NEXT Q
  815. 5070  PRINT W$(WV+1);" AND ";W$(AV+5);
  816. 5075  IF LF=1 THEN PRINT " AND A LAMP";
  817. 5080  PRINT
  818. 5085  PRINT "YOU ALSO HAD";FL;"FLARES AND";GP;"GOLD PIECES"
  819. 5090  IF RF=1 THEN PRINT "AND THE RUNESTAFF"
  820. 5095  PRINT
  821. 5100  PRINT "AND IT TOOK YOU";T;"TURNS!"
  822. 5105  PRINT
  823. 5110  PRINT "ARE YOU FOOLISH ENOUGH TO WANT TO PLAY AGAIN";
  824. 5115  GOSUB 5415
  825. 5120  PRINT
  826. 5125  IF O$ <> "Y" GOTO 5155
  827. 5130  PRINT "SOME ";R$(RC);"S NEVER LEARN!"
  828. 5135  PRINT
  829. 5140  PRINT "PLEASE BE PATIENT WHILE THE CASTLE IS RESTOCKED."
  830. 5145  PRINT
  831. 5150  GOTO 1105
  832. 5155  IF O$ <> "N" THEN PRINT Y$ : GOTO 5110
  833. 5160  PRINT "MAYBE DUMB ";R$(RC);" IS NOT SO DUMB AFTER ALL!"
  834. 5165  PRINT
  835. 5170  GOTO 5580
  836. 5175  PRINT
  837. 5180  PRINT "GREAT UNMITIGATED ZOT!"
  838. 5185  PRINT
  839. 5190  PRINT "YOU JUST FOUND ***THE ORB OF ZOT***!"
  840. 5195  PRINT
  841. 5200  PRINT "THE RUNESTAFF HAS DISAPPEARED!"
  842. 5205  RF=0
  843. 5210  OF=1
  844. 5215  O(1)=0
  845. 5220  GOTO 3105
  846. 5225  DATA AN EMPTY ROOM,.,THE ENTRANCE,E,STAIRS GOING UP,U
  847. 5230  DATA STAIRS GOING DOWN,D,A POOL,P,A CHEST,C,GOLD PIECES,G
  848. 5235  DATA FLARES,F,A WARP,W,A SINKHOLE,S,A CRYSTAL ORB,O
  849. 5240  DATA A BOOK,B,A KOBOLD,M,AN ORC,M,A WOLF,M,A GOBLIN,M,AN OGRE,M
  850. 5245  DATA A TROLL,M,A BEAR,M,A MINOTAUR,M,A GARGOYLE,M,A CHIMERA,M
  851. 5250  DATA A BALROG,M,A DRAGON,M,A VENDOR,V,THE RUBY RED,T
  852. 5255  DATA THE NORN STONE,T,THE PALE PEARL,T,THE OPAL EYE,T
  853. 5260  DATA THE GREEN GEM,T,THE BLUE FLAME,T,THE PALANTIR,T,THE SILMARIL,T
  854. 5265  DATA X,"?",NO WEAPON," SANDWICH"
  855. 5270  DATA DAGGER," STEW",MACE," SOUP",SWORD," BURGER",NO ARMOR," ROAST"
  856. 5275  DATA LEATHER," FILET",CHAINMAIL," TACO",PLATE," PIE"
  857. 5280  DATA HOBBIT,ELF,MAN,DWARF
  858. 5285  X=FNA(8) : Y=FNA(8)
  859. 5290  IF L(FND(Z)) <> 101 GOTO 5285
  860. 5295  L(FND(Z))=Q
  861. 5300  RETURN
  862. 5305  PRINT
  863. 5310  PRINT "YOU GET ALL HIS WARES :"
  864. 5315  PRINT "PLATE ARMOR"
  865. 5320  AV=3 : AH=21
  866. 5325  PRINT "A SWORD"
  867. 5330  WV=3
  868. 5335  PRINT "A STRENGTH POTION"
  869. 5340  ST=FNC(ST+FNA(6))
  870. 5345  PRINT "AN INTELLIGENCE POTION"
  871. 5350  IQ=FNC(IQ+FNA(6))
  872. 5355  PRINT "A DEXTERITY POTION"
  873. 5360  DX=FNC(DX+FNA(6))
  874. 5365  IF LF=0 THEN PRINT "A LAMP" : LF=1
  875. 5370  GOTO 4420
  876. 5375  FOR Q=1 TO 64
  877. 5380  PRINT "*";
  878. 5385  NEXT Q
  879. 5390  PRINT
  880. 5395  PRINT
  881. 5400  RETURN
  882. 5405  PRINT
  883. 5410  PRINT "YOUR CHOICE";
  884. 5415  INPUT O$
  885. 5420  O$=LEFT$(O$,1)
  886. 5425  RETURN
  887. 5430  PRINT "HOW MANY POINTS DO YOU WISH TO ADD TO YOUR ";Z$;
  888. 5435  INPUT O$
  889. 5440  PRINT
  890. 5445  Q=VAL(O$)
  891. 5450  IF Q=0 AND ASC(O$) <> 48 THEN Q=-1
  892. 5455  IF Q<0 OR Q>OT OR Q<>INT(Q) THEN PRINT "** "; : GOTO 5430
  893. 5460  OT=OT-Q
  894. 5465  RETURN
  895. 5470  INPUT O$
  896. 5475  Q=INT(VAL(O$))
  897. 5480  RETURN
  898. 5485  PRINT
  899. 5490  PRINT Z$;
  900. 5495  INPUT O$
  901. 5500  Q=INT(VAL(O$))
  902. 5505  IF Q > 0 AND Q < 9 THEN RETURN
  903. 5510  PRINT
  904. 5515  PRINT "** TRY A NUMBER FROM 1 TO 8."
  905. 5520  GOTO 5485
  906. 5525  PRINT
  907. 5530  PRINT "DO YOU WANT TO BUY A POTION OF ";Z$;" FOR 1000 GP'S";
  908. 5535  GOTO 5415
  909. 5540  PRINT
  910. 5545  PRINT "YOUR ";Z$;" IS NOW";Q;"."
  911. 5550  RETURN
  912. 5555  PRINT
  913. 5560  PRINT "THESE ARE THE TYPES OF ";Z$;" YOU CAN BUY :"
  914. 5565  RETURN
  915. 5570  PRINT "YOU ARE AT (";X;",";Y;") LEVEL";Z;"."
  916. 5575  RETURN
  917. 5580  END
  918.